home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 1 / Cream of the Crop 1.iso / EDITOR / WPWRIT11.ARJ / BLDSLASH.SC next >
Text File  |  1991-10-31  |  2KB  |  89 lines

  1. Message " Creating Slash Library... "
  2. CREATELIB "Slash"
  3. ;
  4. ;  All rights reserved. (c) Copyright 1991.
  5. ;                       by: Steven Booth
  6. ;                           N28W29868 Oakwood Grove Road
  7. ;                           Pewaukee, WI 53072
  8. ;
  9. ;     BldSlash.a  - Build File Name with double slashes. Required for passed
  10. ;                   parameters for WPWRITE.
  11. ;         GetYN.a - Get a Y/N Response
  12. ;     PaintCanv.u - Paint Canvas
  13.  
  14. PROC BldSlash.a(Str.a)
  15. ;
  16. ; ** BldSlash.a = Builds a file name with double slashes in it.
  17. ;
  18.  
  19. Private Save_Str.a,       ; Saved String
  20.         Str_posl.s,       ; Slash
  21.         Temp.a            ; Temporary Holding String
  22.  
  23.    Str_posl.s = SEARCH("\\", Str.a)
  24.    IF ( Str_posl.s = 0 ) THEN
  25.       Save_Str.a = Str.a
  26.       RELEASE VARS Str.a
  27.       Return Save_Str.a
  28.    ELSE
  29.       Temp.a = Str.a
  30.       Save_Str.a = ""
  31.       WHILE ( Str_posl.s <> 0 )
  32.          Save_Str.a = Save_Str.a +
  33.                             SUBSTR(Temp.a, 1, Str_posl.s ) + "\\"
  34.          Temp.a = SUBSTR( Temp.a, Str_posl.s+1, (Len(Temp.a) - Str_posl.s) )
  35.          Str_posl.s = SEARCH("\\", Temp.a)
  36.       ENDWHILE
  37.       Save_Str.a = Save_Str.a + Temp.a
  38.       RELEASE VARS Str.a
  39.       Return Save_Str.a
  40.    ENDIF
  41. ENDPROC
  42.  
  43. PROC GetYN.a(msg.a)
  44.  
  45. ; Get Yes/No Answer
  46. ;
  47. ;     Returns:  Y, N, or ESC
  48.  
  49. Private Ans.a
  50.  
  51. WHILE CHARWAITING()           ; Eat any characters already in buffer
  52.       Ans.a = GETCHAR()
  53. ENDWHILE
  54.  
  55. PaintCanv.u(msg.a)
  56. WHILE ( True )
  57.    gc.a = GETCHAR()
  58.    IF ( gc.a = 27 ) THEN
  59.       retval = False
  60.       ?? "Esc"
  61.       QUITLOOP
  62.    ENDIF
  63.    Ans.a = UPPER(CHR(gc.a))
  64.    IF ( Ans.a = "Y" OR Ans.a = "N" ) THEN
  65.       retval = True
  66.       ?? Ans.a
  67.       QUITLOOP
  68.    ENDIF
  69. ENDWHILE
  70.  
  71. IF ( retval = True ) THEN
  72.    return Ans.a
  73. ELSE
  74.    return "Esc"
  75. ENDIF
  76. ENDPROC
  77.  
  78. PROC PaintCanv.u(Msg)
  79. ;
  80. ; ** PaintCanv.u = Paint Canvas
  81.  
  82. @ 1,0 CLEAR EOL
  83. @ 0,0 CLEAR EOL
  84. PAINTCANVAS ATTRIBUTE 112  0, 0, 1, 79
  85. ?? Msg
  86. Return
  87. ENDPROC
  88.  
  89. WRITELIB "Slash" BldSlash.a, GetYN.a, PaintCanv.u